package multiplex.dataaccess.teste;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import multiplex.dataaccess.dao.FilmeDao;
import multiplex.model.Filme;

public class FilmeDaoTeste implements IDaoTeste{
	public void run(){
		SaveTeste();
		GetAndUpdateTeste();
	}
	
	private void SaveTeste(){
		FilmeDao filmeDAO = new FilmeDao();
		Filme filme = new Filme();
		Calendar calendar = Calendar.getInstance();
		
		calendar.set(2010,10,01);
		filme.setAno(calendar);
		filme.setDestaque(true);
		filme.setDistribuidora("Disney");
		calendar = Calendar.getInstance();
		calendar.set(2010,10,05);
		filme.setDuracao(calendar);
		filme.setElenco("Robert de Niro");
		filme.setIndicacaoEtaria(16);
		filme.setLocalProducao("Bósnia");
		filme.setNome("A volta dos que não foram");
		filme.setNomeOriginal("The back of the one who not went");
		filme.setTipoFilme("Drama");
		filme.setSite("www.qualquercoisa.com");
		filme.setProdutores("Hessel");
		filme.setDirecao("Samir Elias Rossi");
		filmeDAO.save(filme);
		System.out.println("Filme salvo com sucesso!");
	}
	private void GetAndUpdateTeste(){
		List<Filme> filmes = new ArrayList<Filme>();
		FilmeDao filmeDAO = new FilmeDao();
		filmes=filmeDAO.getAll();
		if(filmes!=null){
			System.out.println("Filme carregado com sucesso!");
			Filme filme = filmes.get(0);
			filme.setNome("A volta dos que não foram II");
			filmeDAO.update(filme);
			
			if(filmeDAO.get(filme.getId()).getNome().equals("A volta dos que não foram II")){
				System.out.println("Filme atualizado com sucesso!");
				RemoveTeste(filme.getId());
			}
			
		}
		else
			System.out.println("Teste de Get falhou.");
	}
	
	private void RemoveTeste(int id){
		FilmeDao filmeDAO = new FilmeDao();
		Filme filme = new Filme();
		
		filme.setId(id);
		
		filmeDAO.remove(filme);
		System.out.println("Filme deletado com sucesso!");
	}
}
